package com.ksd.modules.note.service;

import com.ksd.commons.IBaseService;
import com.ksd.modules.note.entity.AdminNoteLesson;
import com.ksd.modules.note.po.AdminNoteLessonSavePO;
import com.ksd.modules.note.vo.AdminNoteLessonVo;

import java.util.List;

public interface IAdminNoteLessonService extends IBaseService<AdminNoteLesson> {


    /**
     * 查询列表
      * @param noteId
      * @param chapterId
     * @return
     */
    List<AdminNoteLessonVo> findAdminNoteLessons(Long noteId,Long chapterId);


    /**
     * 保存和更新
     * @param adminNoteLessonSavePO
     * @return
     */
    Boolean saveUpdateAdminNoteLesson(AdminNoteLessonSavePO adminNoteLessonSavePO);

    /**
     * 根据id获取明细
     * @param id
     * @return
     */
    AdminNoteLessonVo getAdminNoteLessonById(Long id);

    /**
     * 单个物理删除
     * @return
     */
    Boolean removeAdminNoteLessonById(Long id);


    /**
     * 修改状态
     * @param id
     * @param column
     * @param value
     * @return
     */
    boolean updateStatus(Long id,String column,Integer value);

    /**
     * 修改状态
     * @param id
     * @param column
     * @param value
     * @return
     */
    boolean updateStatusStr(Long id,String column,String value);

    /**
     * 根据章删除节
     * @param chapterId
     * @return
     */
    boolean removeByChapterId(Long chapterId);

    /**
     * 根据小册删除节
     * @param noteId
     * @return
     */
    boolean removeByNoteId(Long noteId);
    /**
     * 根据小册删除节
     * @param noteIds
     * @return
     */
    boolean removeByNoteIds(List<Long> noteIds);
}
